 
#include "CDescriptorContainer.h" 
CDescriptorContainer::CDescriptorContainer(void)
{
}

CDescriptorContainer::~CDescriptorContainer(void)
{
	ClearDescriptor( );
}
void CDescriptorContainer::ClearDescriptor( )
{
	for(DESCRIPTOR_OBJECT_VECTOR::iterator dd = m_nDescriptorDataList.begin();dd!=m_nDescriptorDataList.end();dd++)
	{
		IDescriptorData* des = (IDescriptorData* )(*dd);
		if (des)
		{ 
			delete des;
			des = NULL;
		}
	}  
	m_nDescriptorDataList.clear();
}
void CDescriptorContainer::GetDescriptorData(unsigned char* buff  , int &len) 
{
    int offset = 0; 
	int desLen =0;
	len = 0;
	for(DESCRIPTOR_OBJECT_VECTOR::iterator dd = m_nDescriptorDataList.begin();dd!=m_nDescriptorDataList.end();dd++)
    {
			IDescriptorData* des = (IDescriptorData* )(*dd);
			if (des)
			{ 
				desLen = 0;
				des->GetData(buff+offset,desLen);
				offset+=desLen;
				len+=desLen;
			}
    }   
}

void CDescriptorContainer::AddDescriptor(IDescriptorData* pDescriptor)
{
	if (pDescriptor)
	{
		m_nDescriptorDataList.push_back(pDescriptor);
	}
}

	
